home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- # $Xorg: client.cpp,v 1.4 2000/12/20 16:41:43 pookie Exp $
- #
-
- # Copyright (c) 1993 Quarterdeck Office Systems
- #
- # Permission to use, copy, modify, distribute, and sell this software
- # and software and its documentation for any purpose is hereby granted
- # without fee, provided that the above copyright notice appear in all
- # copies and that both that copyright notice and this permission
- # notice appear in supporting documentation, and that the name
- # Quarterdeck Office Systems, Inc. not be used in advertising or
- # publicity pertaining to distribution of this software without
- # specific, written prior permission.
- #
- # THIS SOFTWARE IS PROVIDED "AS-IS". QUARTERDECK OFFICE SYSTEMS,
- # INC., DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- # INCLUDING WITHOUT LIMITATION ALL IMPLIED WARRANTIES OF
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- # NONINFRINGEMENT. IN NO EVENT SHALL QUARTERDECK OFFICE SYSTEMS,
- # INC., BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING SPECIAL,
- # INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS OF USE, DATA, OR
- # PROFITS, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND REGARDLESS
- # OF WHETHER IN AN ACTION IN CONTRACT, TORT OR NEGLIGENCE, ARISING OUT
- # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
- usage() {
- if [ -n "$1" ]
- then
- echo "`basename $0`: $1"
- fi
-
- echo ""
- echo "Usage: `basename $0` [options] hostname command args ..."
- echo ""
- echo "where options include:"
- echo " -c context run command in the specified context"
- echo " -g interpret command as a generic command"
- echo " -l username run command as the specified user"
- echo " -v enable verbose output"
- exit 1
- }
-
- if [ $# -eq 0 ]
- then
- usage
- fi
-
- context=X
- verbose=DETACH
- name=
- kind=CMD
-
- while :
- do
- case $1 in
- -c)
- if [ $# -lt 2 ]
- then
- usage "-c option requires an argument"
- fi
-
- context=$2
- shift; shift
- ;;
- -g)
- kind=GENERIC-CMD
- shift
- ;;
- -l)
- if [ $# -lt 2 ]
- then
- usage "-l option requires an argument"
- fi
-
- name="-l $2"
- shift; shift
- ;;
- -v)
- verbose=NODETACH
- shift
- ;;
- *)
- if [ $# -eq 0 ]
- then
- usage "missing host name"
- fi
-
- host=$1
- shift
- break
- ;;
- esac
- done
-
- if [ $# -eq 0 ]
- then
- usage "missing command"
- fi
-
- case $verbose in
- DETACH)
- exec > /dev/null
- ;;
- esac
-
- case "$DISPLAY" in
- :*) disp="`uname -n`$DISPLAY"
- echo expanded $DISPLAY to $disp
- ;;
- *) disp="$DISPLAY"
- ;;
- esac
-
- (
- cat << /
- CONTEXT $context
- MISC X DISPLAY=$disp
- $kind $*
- $verbose
- /
- xauth list $disp | sed 's/^/AUTH X11 /'
- echo ""
- ) | rsh $host $name rstartd
-